package com.minimalist.lindi.service;

import com.minimalist.common.config.mybatis.bo.PageResp;
import com.minimalist.common.entity.lindi.po.LindiTradeApplicationApproveFile;
import com.minimalist.common.entity.lindi.vo.tradeapplicationapprovefile.LindiTradeApplicationApproveFileVO;
import com.minimalist.common.entity.lindi.vo.tradeapplicationapprovefile.TradeApplicationApproveFileQueryVO;
import com.mybatisflex.core.service.IService;

/**
 * 林地指标交易平台_交易申请审批文件 服务层。
 *
 * @author 11987
 * @since 2025-06-07
 */
public interface LindiTradeApplicationApproveFileService extends IService<LindiTradeApplicationApproveFile> {

    /**
     * 添加交易申请审批文件
     *
     * @param tradeApplicationApproveFileVO 交易申请审批文件VO
     */
    void addTradeApplicationApproveFile(LindiTradeApplicationApproveFileVO tradeApplicationApproveFileVO);

    /**
     * 根据ID删除交易申请审批文件
     *
     * @param approveFileId 审批文件ID
     */
    void deleteTradeApplicationApproveFileByApproveFileId(Long approveFileId);

    /**
     * 根据ID更新交易申请审批文件
     *
     * @param tradeApplicationApproveFileVO 交易申请审批文件VO
     */
    void updateTradeApplicationApproveFileByApproveFileId(
            LindiTradeApplicationApproveFileVO tradeApplicationApproveFileVO);

    /**
     * 分页查询交易申请审批文件列表
     *
     * @param queryVO 查询条件
     * @return 分页结果
     */
    PageResp<LindiTradeApplicationApproveFileVO> getPageTradeApplicationApproveFileList(
            TradeApplicationApproveFileQueryVO queryVO);

    /**
     * 根据ID查询交易申请审批文件
     *
     * @param approveFileId 审批文件ID
     * @return 交易申请审批文件VO
     */
    LindiTradeApplicationApproveFileVO getTradeApplicationApproveFileByApproveFileId(Long approveFileId);
}
